fix(ci): fix actionlint CI failure and test.yml SHA corruption#174
fix(ci): fix actionlint CI failure and test.yml SHA corruption#174YiWang24 wants to merge 4 commits into
Conversation
- Remove resolve-openci from actionlint job: vendored .openci/ at the pinned SHA has different action input signatures than the current source, causing actionlint false positives about undefined inputs (anthropic-api-key, allowed-tools, openci-ref). - Fix test.yml: the old AWK-based SHA extraction bug in bump-self-sha.sh replaced 'bootstra' with the full 40-char SHA 34a9357 in comments, names, and descriptions. Restored the original 'bootstrapping' text in all 4 affected locations.
Qodo reviews are paused for this user.Troubleshooting steps vary by plan Learn more → On a Teams plan? Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center? |
📝 WalkthroughWalkthroughThis PR streamlines CI workflows by removing an unnecessary OpenCI resolve/checkout step from the reusable actionlint job and standardizes self-bootstrapping identifier terminology across the test workflow's comments, input descriptions, and step labels. ChangesWorkflow maintenance and labeling
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related PRs
Suggested labels
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Use reusable-self-test.yml@3a9483d (current fix branch commit) which removes resolve-openci from the actionlint job, so actionlint on this PR actually tests the fix.
bump-self-sha resolved latest valid SHA at 0fc8c7 (origin/main). After PR merge, auto-bump will update to the merge commit which includes the actionlint fix in reusable-self-test.yml.
bump-self-sha resolved latest valid SHA at 0fc8c7 (origin/main). After PR merge, auto-bump will update to the merge commit which includes the actionlint fix in reusable-self-test.yml.
|
|
Superseded by a cleaner branch. Recreating... |



Summary
Fixes two issues found in CI:
1. actionlint false positives in
ci-self-testRoot cause: The
actionlintjob vends.openci/from a pinned SHA viaresolve-openci. When the top-level workflow files (e.g.,reusable-ci.yml) contain newer action input names than what exists in the older vendored composite actions, actionlint reports "input not defined" errors.Fix: Remove the
resolve-opencivendoring step from theactionlintjob. Actionlint only needs to check the current source files — the vendored.openci/at a different SHA introduces false positives.2.
test.ymltext corruptionRoot cause: An earlier version of
bump-self-sha.shusedawk '{print $NF}'to extract the old SHA frommanifest.yml. On the lineYiAgent/OpenCI: "sha" # resolve-openci bootstrap,awkextractedbootstrapinstead of the SHA. The perl substitution then replacedbootstrapwith the full 40-char SHA34a93579..., corruptingbootstrappinginto34a93579...pingin 4 locations.Fix: Restored the original text in all comments, descriptions, and step names.
Files Changed
.github/workflows/reusable-self-test.yml— Remove resolve-openci from actionlint job.github/workflows/test.yml— Fix 4 corrupted text instancesNeed help on this PR? Tag
@codesmithwith what you need. Autofix is disabled.Summary by CodeRabbit
Greptile Summary
This PR fixes two CI regressions: actionlint false positives caused by vendoring
.openci/at a mismatched SHA, and text corruption intest.ymlwhere a faultyawkextraction inbump-self-sha.shmangled the word "bootstrapping" into a SHA fragment across four locations. All workflow files are also updated to the new self-reference SHA (0fc8c78).reusable-self-test.yml: Removes theresolve-opencivendoring step from theactionlintjob so actionlint only sees current source files, eliminating false "input not defined" errors from stale composite actions.test.yml: Restores four occurrences ofself-bootstrappingthat were corrupted by the SHA-bump script extractingbootstrap(the comment word) instead of the actual SHA value.manifest.yml: Consistent SHA bump from119c3eabto0fc8c78.Confidence Score: 5/5
Safe to merge — both fixes are targeted and correct, with no logic changes to production paths.
The actionlint fix correctly removes a step that was injecting stale composite actions into a linting context, and the text restoration in test.yml is a straightforward revert of script-induced corruption. All SHA bumps are internally consistent. The only residual item is the dead
.openci/.github/actionlint.yamlbranch in the config-file check, which was already flagged in a previous review comment — it causes no runtime failure, just unreachable code..github/workflows/reusable-self-test.yml — the actionlint config-file check still has a branch that references
.openci/.github/actionlint.yaml, which can never be true now that the resolve-openci step has been removed from that job.Important Files Changed
.openci/.github/actionlint.yamlbranch in the config-file check is now permanently unreachable dead code.Flowchart
%%{init: {'theme': 'neutral'}}%% flowchart TD A[actionlint job] --> B[Checkout source] B --> C{Before this PR} C -->|resolve-openci step| D[Vendor .openci/ at pinned SHA] D --> E[Run actionlint] E --> F[❌ False positives: input not defined\nfor actions at older SHA] B --> G{After this PR} G --> H[Run actionlint directly on source] H --> I{Config file?} I -->|.openci/.github/actionlint.yaml| J[⚠️ Dead branch — .openci/ never populated] I -->|.github/actionlint.yaml| K[✅ Use repo config] I -->|neither| L[✅ Run with defaults]Comments Outside Diff (1)
.github/workflows/reusable-self-test.yml, line 83-88 (link)resolve-opencistep, the.openci/directory is never populated in theactionlintjob, so the first branch of this config-file check is permanently dead. Actionlint will always fall through to.github/actionlint.yaml. If the repo's actionlint config lives only in.openci/.github/actionlint.yamlin the vendored tree (not in.github/actionlint.yaml), it will be silently skipped. Dropping the unreachable first branch makes the intent explicit.Reviews (3): Last reviewed commit: "chore: sync all SHA references via bump-..." | Re-trigger Greptile